package data;

/**
 * Enum Ville : Répresente l'ensemble des villes disponibles 
 * 
 * @author Alexandre Boursier and Mamadou Diallo and Cyril Gorrieri and Emmanuel Menage
 * @version 2012.01.23
 */

public enum Ville {
    NICE("nice", 0), PARIS("paris", 1), LYON("lyon", 2), MARSEILLE("marseille", 3),
    UNKNOWN("?", 4);

    // nom d'une ville 
    private String ville;
    // le rang d'une ville
    private int rang;

    /**
     * Ville : construit une ville selon deux paramètresS
     * @param ville
     * 				le nom de la ville
     * @param rang
     * 				le rang de la ville dans l'enum
     */
    Ville(String ville, int rang) {
        this.ville = ville;
        this.rang=rang;
    }

    /**
     * toString
     * @return le nom de la ville
     */
    public String toString() {
        return ville;
    }
    
   /*
    * @return le rang de la ville dans l'enum
    */
    public int getRang() {
        return rang;
    }

    /**
     * Récupère une ville selon son Id
     * @param id
     * 			l'identifiant de la ville.
     * @return la ville dont l'identifiant est passé en paramètre
     */
    public static Ville getVilleById(int id) {
        return Ville.values()[id];
    }

}
